<?php

/**
 * ClienteController
 * 
 * @package Sgit 
 * @author Juan Manuel Martinez Carrillo
 * @copyright Juan Manuel Martinez Carrillo
 * @version 2012
 * @access public
 * @revision 17/02/2012 8:53:55
 */

class PepController extends Sgit_Controller_Action
{
    protected $_main_model = 'Pep';
    protected $_main_form = 'Pep';


    public function ponercliente()
    {   
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(TRUE);
    
        $rows=$this->_model->default->getAssoc('cif','id');

        
        $m_costumer=new Application_Model_Costumer();
        
        $rows2=$m_costumer->getAssoc('cif','id');
        
        foreach($rows as $cif=>$id_pep)
        {
            $proyecto[$id_pep]['id_costumer']=$rows2[$cif];
            
            $this->_model->default->updateRow($proyecto[$id_pep],$id_pep);
        }
        
    }
    
    
    
    public function load()
    {   
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender(TRUE);
    
    

        
        $file = new SplFileObject(APPLICATION_PATH."/Libro1.csv");
        $file->setFlags(SplFileObject::READ_CSV);
        $file->setCsvControl(';');
        
        $clientes=new Application_Model_Costumer();
        
       $cli=  $clientes->getAssoc('codigo');
        


        $peps=$this->_model->default->getAssoc('pep');


        foreach ($file as $k=> $v) 
        {

            foreach ($v as &$w) 
            {
                $w=trim($w);
            }

            $row[$k]['pep']=$v[0].'-002';
            $row[$k]['id']=$peps[$row[$k]['pep']]['id'];
            if(!$row[$k]['id']){
                print 'No existe '.$v[0].'-002'
                .' '.$cli[$v[2]]['nombre']
                
                .'<br>';
                
                
                
                unset($row[$k]);
                continue;
            }
            
            
            
            $row[$k]['notas']=utf8_encode($v[1]).' '.$peps[$row[$k]['pep']]['notas'];;
            $row[$k]['codigo_cliente']=$v[2];
            $row[$k]['cliente']=$v[3];
            $row[$k]['id_jp']=$v[4];
            $row[$k]['jp']=Sgit_Cache::single()->model('Usuario')->getKey($v[4]);
            
            $row[$k]['mci']=(substr($v[5],0,1)=='S') ? 1 :0;
            $row[$k]['cfo']=str_replace('.','',$v[6]);
            $row[$k]['vfo']=str_replace('.','',$v[7]);
            $row[$k]['mfo']=str_replace('.','',$v[8]);
            $row[$k]['ponderacion']=str_replace('.','',$v[9]);
            $row[$k]['ponderacion']=str_replace('%','',$v[9]);
            
            $row[$k]['cfo']=str_replace(',','.',$row[$k]['cfo']);
            $row[$k]['vfo']=str_replace(',','.',$row[$k]['vfo']);
            $row[$k]['mfo']=str_replace(',','.',$row[$k]['mfo']);
            $row[$k]['ponderacion']=str_replace(',','.',$row[$k]['ponderacion']);
            
            
            
            
     
          
        }


        foreach($row as $v)
        {
            
            unset($record);
            $record['id']=$v['id'];
            $record['id_jp']=$v['id_jp'];
            $record['cc_mci']=$v['mci'];
            $record['cfo']=$v['cfo'];
            $record['vfo']=$v['vfo'];
            $record['mfo']=$v['mfo'];
            $record['ponderacion']=$v['ponderacion'];
            $record['notas']=$v['notas'];


            $this->_model->default->updateRow($record,$v['id']);
            
        }
Sgit_Util_Profiler::run();
      
        
    }
    
    
    
    
    
    
    public function indexAction()
    {
    
        $filtros = new Sgit_Form_Filtros();

        $f_costumer = new Sgit_Form_Element_Select_Costumer('id_costumer');
        $filtros->addFormSelect($f_costumer);

        $f_jp = new Sgit_Form_Element_Select_Usuarios('id_jp');
        $f_jp->setLabel('Responsable');
        $filtros->addFormSelect($f_jp);

        $f_mci = new Sgit_Form_Element_Select_SiNo('cc_mci');
        $f_mci->setLabel('MCI');
        $filtros->addFormSelect($f_mci);


        $filtros->myRender();
        $values = $this->_getFiltrosValues($filtros);



        $rows=$this->_model->default->getPeps($values);
        $this->view->rows=$rows;
        
    }
    
    
    
    public function editarAction()
    {
        $this->_editar();
    }

    public function insertarAction()
    {
        $this->_insertar();
    }

    public function borrarAction()
    {
        $this->_borrar();
    }

    protected function _getFila($id)
    {
        $row = $this->_model->default->getPeps($id);
        return $row;
    }

    protected function _prepareValuesToDb($id)
    {
        $row = $this->_form->getValues();
        $row['fecha_inicio'] =      Sgit_Filter_DateToDb::filter($row['fecha_inicio']);
        $row['fecha_fin'] =         Sgit_Filter_DateToDb::filter($row['fecha_fin']);
        $row['fecha_ipc'] =         Sgit_Filter_DateToDb::filter($row['fecha_ipc']);
        $row['fecha_renovacion']=   Sgit_Filter_DateToDb::filter($row['fecha_renovacion']);
        $row['fecha_aviso'] =       Sgit_Filter_DateToDb::filter($row['fecha_aviso']);
        return $row;
    }
    
    protected function _prepareValuesToForm($row)
    {
        $row['fecha_inicio'] =      Sgit_Filter_DateDbToForm::filter($row['fecha_inicio']);
        $row['fecha_fin'] =         Sgit_Filter_DateDbToForm::filter($row['fecha_fin']);
        $row['fecha_ipc'] =         Sgit_Filter_DateDbToForm::filter($row['fecha_ipc']);
        $row['fecha_renovacion'] =  Sgit_Filter_DateDbToForm::filter($row['fecha_renovacion']);
        $row['fecha_aviso'] =       Sgit_Filter_DateDbToForm::filter($row['fecha_aviso']);

        return $row;
    }



    public function pepAction()
    {

        
        $id_pep=$this->_getParam('id_pep');
        $row=$this->_model->default->getPeps($id_pep);

        $this->view->id_pep=$id_pep;
        
        
        if (!$id_pep)
        {
            throw new Zend_Controller_Exception(sprintf('ID PEP is required for %s', $this->_controllerName . ':' . $this->_actionName));
        }

 
        $this->view->pep=$row;
        
        $proyectos=new Application_Model_Proyectos();
        
        $values['id_pep']=$id_pep;
        $values['activo']=1;
        $proyectos=$proyectos->getProyectosLite($values);
        
        $this->view->proyectos=Sgit_Util_OrderArray::run($proyectos,'id_zona');
        

        $mmr=new Application_Model_MMRProyectos();

        $this->view->mmr=$mmr->getProyectos($values);
        
        
        

        
        $m_post=new Application_Model_PepPost();

        $valores['id_pep']=$id_pep;
        
        $this->view->posts=$m_post->getPost($valores);
 

    }








    public function createRealtionProyectoPepInProyecto()
    {
        
        $peps=$this->_model->default->getAssoc('pep','id');
        
        $proyectos=new Application_Model_Proyectos();
        $rows=$proyectos->getAssoc('id','orden');
        
        
        
        foreach($rows as $k => $v)
        {
            $id_pep=$peps[$v];
            $data['id_pep']=$id_pep;
            $proyectos->update($data,array('id=?'=>$k));
          
        }
    
    }

    public function createRealtionProyectoPepInMMR()
    {
                
        $p=new Application_Model_Proyectos();
        $peps=$p->getAssoc('id','id_pep');
                
        $proyectos=new Application_Model_MMRProyectos();
        $rows=$proyectos->getAssoc('id','id_proyecto');
         

        foreach($rows as $k => $v)
        {
            
            $id_pep=$peps[$v];
            
            
            $data['id_pep']=$id_pep;
            $proyectos->update($data,array('id=?'=>$k));
          
        }
    
   
    }



    public function populateTable()
    {
        $proyectos=new Application_Model_Proyectos();
        $clientes=new Application_Model_Clientes();
        $where['activo=?']=1;
        $values=array('orden','nombre','id_cliente','id_sector','id_dir');
        $rows=$proyectos->getAll($where,null,'orden',null,null,null,$values);
        

        
        foreach($rows as $k => $v)
        {
            $cli=$clientes->getRow($v['id_cliente']);
            
            $cliente['razon_social']=$cli['raz_soc'];
            $cliente['nombre']=$cli['nombre'];
            $cliente['cif']=$cli['nif'];
            $cliente['direccion']=$cli['doc_soc'];
            
            $cliente['pep'] = trim($v['orden']);
            $cliente['id_sector']=$v['id_sector'];
            $cliente['id_jp']=$v['id_dir'];

          
            $this->_model->default->insertRow($cliente);
          
        }
        
    }


}
